# 逢七拍手游戏（带输入输出优化）
print("===== 逢七拍手游戏 =====")
print("规则：数到7的倍数或包含数字7时，需要拍手")

# 1. 获取用户输入（游戏范围）
while True:
    try:
        start = int(input("\n请输入游戏起始数字（默认1，直接回车使用默认值）：") or 1)
        end = int(input("请输入游戏结束数字（默认100，直接回车使用默认值）：") or 100)
        
        # 验证输入合法性（起始≤结束，且为正整数）
        if start <= 0 or end <= 0:
            print("错误：数字必须为正整数，请重新输入！")
        elif start > end:
            print("错误：起始数字不能大于结束数字，请重新输入！")
        else:
            break
    except ValueError:
        print("错误：请输入有效的整数！")

# 2. 计算需要拍手的数字
clap_nums = []
for num in range(start, end + 1):
    # 判断条件：7的倍数 或 包含数字7
    if num % 7 == 0 or '7' in str(num):
        clap_nums.append(num)

# 3. 友好输出结果
print(f"\n===== 游戏结果（{start}~{end}）=====")
if clap_nums:
    print(f"需要拍手的数字共有 {len(clap_nums)} 个：")
    # 每10个数字换行显示，提升可读性
    for i in range(0, len(clap_nums), 10):
        print(" ".join(map(str, clap_nums[i:i+10])))
else:
    print(f"该区间内没有需要拍手的数字！")